<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<button id="test">TestButton</button>
<script type="text/javascript">
    /**
     * 这个问题如果要解决，需要在与个element上记录一些数组，
     * 类似用到cache的功能：
     * //伪代码：
     * var el.fns=[];
     * fns.push(fn1);
     *
     * 但是这个并不是个好的解决方案，通常这个bind只是作为工具方法
     * 不需要这样去考虑
     * @type {*}
     */
    var testNode = document.getElementById('test');
    window.attachEvent('onload', function () {
        console.log('window onload!');
    });
    testNode.attachEvent('onclick', function () {
        console.log('click fn1!');
    });
    testNode.attachEvent('onclick', function () {
        console.log('click fn2!');
    });
    testNode.attachEvent('onclick', function () {
        console.log('click fn3!');
    });

    function attach(el, eventName, fn) {
        el.attachEvent(eventName, fn);
    }
</script>
</body>
</html>